/**
 * 
 */
package kr.co.insoft.auth.service.initalize;

import kr.co.insoft.framework.exceptions.ServiceException;

import org.springframework.transaction.annotation.Transactional;

/**
 * @author IN-SOFT Inc. GoodwillDD(sylee@in-soft.co.kr)
 * 
 */
public interface InitializeTableService {

	public static final String MAILLING = "T_MAILS";
	public static final String USERS_TABLE = "T_USERS";
	public static final String USERS_ORG = "T_USERS_ORG";
	public static final String USER_ROLES = "T_USER_ROLES";
	public static final String CODEC_SALT_TABLE = "T_CODEC_SALT";
	
	/**
	 * Table을 조회하여 해당 Table이 존재하지 않으면 생성한다.
	 * 
	 * <pre>
	 * Repository를 사용하지 않는다.
	 * </pre>
	 * 
	 * @throws Exception
	 */
	@Transactional(rollbackFor=ServiceException.class)
	public void initializeTables() throws ServiceException;
}
